// In test_l0_mem_pool.c, replace the current implementation with:

#include <linux/module.h>
#include <linux/init.h>
#include "../hisi_l0_mem_pool.h"
#include "test_framework.h"
#include "test_common.h"

// Forward declarations for all test modules
extern test_module_t allocation_test_module;
extern test_module_t numa_test_module;
extern test_module_t cache_test_module;
extern test_module_t flex_allocator_test_module;
extern test_module_t error_test_module;
extern test_module_t concurrent_test_module;
extern test_module_t stress_test_module;
extern test_module_t integration_test_module;
extern test_module_t performance_test_module;
extern test_module_t stability_test_module;
extern test_module_t interrupt_test_module;
extern test_module_t module_params_test_module;
extern test_module_t api_validation_test_module;

static void *test_dummy;
static int __init test_l0_mem_pool_init(void)
{
    int ret;
    
    pr_info("L0 Memory Pool Test Module Loading\n");

    // Initialize test context
    ret = l0_mem_pool_test_init(&test_dummy);
    if (ret) {
        pr_err("Failed to initialize test context\n");
        return ret;
    }
    
    // Manually register all test modules
    register_test_module(&allocation_test_module);
    register_test_module(&numa_test_module);
    register_test_module(&cache_test_module);
    register_test_module(&flex_allocator_test_module);
    register_test_module(&error_test_module);
    register_test_module(&concurrent_test_module);
    register_test_module(&stress_test_module);
    register_test_module(&integration_test_module);
    register_test_module(&performance_test_module);
    //register_test_module(&stability_test_module);
    register_test_module(&interrupt_test_module);
    register_test_module(&api_validation_test_module);
    
    ret = register_test_suite("L0 Memory Pool Tests");
    if (ret) {
        pr_err("Failed to register test suite\n");
        return ret;
    }
    
    pr_info("L0 Memory Pool Test Module Loaded\n");
    pr_info("Check /proc/l0_mem_pool_test for test results\n");
    return 0;
}

static void __exit test_l0_mem_pool_exit(void)
{
    unregister_test_suite();
    pr_info("L0 Memory Pool Test Module Unloaded\n");
}

module_init(test_l0_mem_pool_init);
module_exit(test_l0_mem_pool_exit);
MODULE_LICENSE("GPL v2");